package com.health.db.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class StuffScheduleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StuffScheduleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSystemidIsNull() {
            addCriterion("systemID is null");
            return (Criteria) this;
        }

        public Criteria andSystemidIsNotNull() {
            addCriterion("systemID is not null");
            return (Criteria) this;
        }

        public Criteria andSystemidEqualTo(Integer value) {
            addCriterion("systemID =", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidNotEqualTo(Integer value) {
            addCriterion("systemID <>", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidGreaterThan(Integer value) {
            addCriterion("systemID >", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidGreaterThanOrEqualTo(Integer value) {
            addCriterion("systemID >=", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidLessThan(Integer value) {
            addCriterion("systemID <", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidLessThanOrEqualTo(Integer value) {
            addCriterion("systemID <=", value, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidIn(List<Integer> values) {
            addCriterion("systemID in", values, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidNotIn(List<Integer> values) {
            addCriterion("systemID not in", values, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidBetween(Integer value1, Integer value2) {
            addCriterion("systemID between", value1, value2, "systemid");
            return (Criteria) this;
        }

        public Criteria andSystemidNotBetween(Integer value1, Integer value2) {
            addCriterion("systemID not between", value1, value2, "systemid");
            return (Criteria) this;
        }

        public Criteria andStuffIdIsNull() {
            addCriterion("stuff_id is null");
            return (Criteria) this;
        }

        public Criteria andStuffIdIsNotNull() {
            addCriterion("stuff_id is not null");
            return (Criteria) this;
        }

        public Criteria andStuffIdEqualTo(Long value) {
            addCriterion("stuff_id =", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdNotEqualTo(Long value) {
            addCriterion("stuff_id <>", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdGreaterThan(Long value) {
            addCriterion("stuff_id >", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdGreaterThanOrEqualTo(Long value) {
            addCriterion("stuff_id >=", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdLessThan(Long value) {
            addCriterion("stuff_id <", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdLessThanOrEqualTo(Long value) {
            addCriterion("stuff_id <=", value, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdIn(List<Long> values) {
            addCriterion("stuff_id in", values, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdNotIn(List<Long> values) {
            addCriterion("stuff_id not in", values, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdBetween(Long value1, Long value2) {
            addCriterion("stuff_id between", value1, value2, "stuffId");
            return (Criteria) this;
        }

        public Criteria andStuffIdNotBetween(Long value1, Long value2) {
            addCriterion("stuff_id not between", value1, value2, "stuffId");
            return (Criteria) this;
        }

        public Criteria andCatalogidIsNull() {
            addCriterion("CatalogID is null");
            return (Criteria) this;
        }

        public Criteria andCatalogidIsNotNull() {
            addCriterion("CatalogID is not null");
            return (Criteria) this;
        }

        public Criteria andCatalogidEqualTo(Short value) {
            addCriterion("CatalogID =", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotEqualTo(Short value) {
            addCriterion("CatalogID <>", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidGreaterThan(Short value) {
            addCriterion("CatalogID >", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidGreaterThanOrEqualTo(Short value) {
            addCriterion("CatalogID >=", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidLessThan(Short value) {
            addCriterion("CatalogID <", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidLessThanOrEqualTo(Short value) {
            addCriterion("CatalogID <=", value, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidIn(List<Short> values) {
            addCriterion("CatalogID in", values, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotIn(List<Short> values) {
            addCriterion("CatalogID not in", values, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidBetween(Short value1, Short value2) {
            addCriterion("CatalogID between", value1, value2, "catalogid");
            return (Criteria) this;
        }

        public Criteria andCatalogidNotBetween(Short value1, Short value2) {
            addCriterion("CatalogID not between", value1, value2, "catalogid");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagIsNull() {
            addCriterion("is_used_flag is null");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagIsNotNull() {
            addCriterion("is_used_flag is not null");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagEqualTo(Short value) {
            addCriterion("is_used_flag =", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagNotEqualTo(Short value) {
            addCriterion("is_used_flag <>", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagGreaterThan(Short value) {
            addCriterion("is_used_flag >", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagGreaterThanOrEqualTo(Short value) {
            addCriterion("is_used_flag >=", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagLessThan(Short value) {
            addCriterion("is_used_flag <", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagLessThanOrEqualTo(Short value) {
            addCriterion("is_used_flag <=", value, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagIn(List<Short> values) {
            addCriterion("is_used_flag in", values, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagNotIn(List<Short> values) {
            addCriterion("is_used_flag not in", values, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagBetween(Short value1, Short value2) {
            addCriterion("is_used_flag between", value1, value2, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andIsUsedFlagNotBetween(Short value1, Short value2) {
            addCriterion("is_used_flag not between", value1, value2, "isUsedFlag");
            return (Criteria) this;
        }

        public Criteria andScheduleDataIsNull() {
            addCriterion("Schedule_data is null");
            return (Criteria) this;
        }

        public Criteria andScheduleDataIsNotNull() {
            addCriterion("Schedule_data is not null");
            return (Criteria) this;
        }

        public Criteria andScheduleDataEqualTo(String value) {
            addCriterion("Schedule_data =", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataNotEqualTo(String value) {
            addCriterion("Schedule_data <>", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataGreaterThan(String value) {
            addCriterion("Schedule_data >", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataGreaterThanOrEqualTo(String value) {
            addCriterion("Schedule_data >=", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataLessThan(String value) {
            addCriterion("Schedule_data <", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataLessThanOrEqualTo(String value) {
            addCriterion("Schedule_data <=", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataLike(String value) {
            addCriterion("Schedule_data like", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataNotLike(String value) {
            addCriterion("Schedule_data not like", value, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataIn(List<String> values) {
            addCriterion("Schedule_data in", values, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataNotIn(List<String> values) {
            addCriterion("Schedule_data not in", values, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataBetween(String value1, String value2) {
            addCriterion("Schedule_data between", value1, value2, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andScheduleDataNotBetween(String value1, String value2) {
            addCriterion("Schedule_data not between", value1, value2, "scheduleData");
            return (Criteria) this;
        }

        public Criteria andCommentIsNull() {
            addCriterion("comment is null");
            return (Criteria) this;
        }

        public Criteria andCommentIsNotNull() {
            addCriterion("comment is not null");
            return (Criteria) this;
        }

        public Criteria andCommentEqualTo(String value) {
            addCriterion("comment =", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotEqualTo(String value) {
            addCriterion("comment <>", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentGreaterThan(String value) {
            addCriterion("comment >", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentGreaterThanOrEqualTo(String value) {
            addCriterion("comment >=", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLessThan(String value) {
            addCriterion("comment <", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLessThanOrEqualTo(String value) {
            addCriterion("comment <=", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentLike(String value) {
            addCriterion("comment like", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotLike(String value) {
            addCriterion("comment not like", value, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentIn(List<String> values) {
            addCriterion("comment in", values, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotIn(List<String> values) {
            addCriterion("comment not in", values, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentBetween(String value1, String value2) {
            addCriterion("comment between", value1, value2, "comment");
            return (Criteria) this;
        }

        public Criteria andCommentNotBetween(String value1, String value2) {
            addCriterion("comment not between", value1, value2, "comment");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNull() {
            addCriterion("create_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNotNull() {
            addCriterion("create_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdEqualTo(Long value) {
            addCriterion("create_user_id =", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotEqualTo(Long value) {
            addCriterion("create_user_id <>", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThan(Long value) {
            addCriterion("create_user_id >", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("create_user_id >=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThan(Long value) {
            addCriterion("create_user_id <", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("create_user_id <=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIn(List<Long> values) {
            addCriterion("create_user_id in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotIn(List<Long> values) {
            addCriterion("create_user_id not in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdBetween(Long value1, Long value2) {
            addCriterion("create_user_id between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("create_user_id not between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNull() {
            addCriterion("update_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIsNotNull() {
            addCriterion("update_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateDateEqualTo(Date value) {
            addCriterion("update_date =", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotEqualTo(Date value) {
            addCriterion("update_date <>", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThan(Date value) {
            addCriterion("update_date >", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("update_date >=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThan(Date value) {
            addCriterion("update_date <", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("update_date <=", value, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateIn(List<Date> values) {
            addCriterion("update_date in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotIn(List<Date> values) {
            addCriterion("update_date not in", values, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateBetween(Date value1, Date value2) {
            addCriterion("update_date between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("update_date not between", value1, value2, "updateDate");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNull() {
            addCriterion("update_user_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNotNull() {
            addCriterion("update_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualTo(Long value) {
            addCriterion("update_user_id =", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualTo(Long value) {
            addCriterion("update_user_id <>", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThan(Long value) {
            addCriterion("update_user_id >", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("update_user_id >=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThan(Long value) {
            addCriterion("update_user_id <", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("update_user_id <=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIn(List<Long> values) {
            addCriterion("update_user_id in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotIn(List<Long> values) {
            addCriterion("update_user_id not in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdBetween(Long value1, Long value2) {
            addCriterion("update_user_id between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("update_user_id not between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andSoltsIsNull() {
            addCriterion("solts is null");
            return (Criteria) this;
        }

        public Criteria andSoltsIsNotNull() {
            addCriterion("solts is not null");
            return (Criteria) this;
        }

        public Criteria andSoltsEqualTo(String value) {
            addCriterion("solts =", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsNotEqualTo(String value) {
            addCriterion("solts <>", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsGreaterThan(String value) {
            addCriterion("solts >", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsGreaterThanOrEqualTo(String value) {
            addCriterion("solts >=", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsLessThan(String value) {
            addCriterion("solts <", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsLessThanOrEqualTo(String value) {
            addCriterion("solts <=", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsLike(String value) {
            addCriterion("solts like", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsNotLike(String value) {
            addCriterion("solts not like", value, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsIn(List<String> values) {
            addCriterion("solts in", values, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsNotIn(List<String> values) {
            addCriterion("solts not in", values, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsBetween(String value1, String value2) {
            addCriterion("solts between", value1, value2, "solts");
            return (Criteria) this;
        }

        public Criteria andSoltsNotBetween(String value1, String value2) {
            addCriterion("solts not between", value1, value2, "solts");
            return (Criteria) this;
        }

        public Criteria andWeekdayIsNull() {
            addCriterion("weekday is null");
            return (Criteria) this;
        }

        public Criteria andWeekdayIsNotNull() {
            addCriterion("weekday is not null");
            return (Criteria) this;
        }

        public Criteria andWeekdayEqualTo(Integer value) {
            addCriterion("weekday =", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayNotEqualTo(Integer value) {
            addCriterion("weekday <>", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayGreaterThan(Integer value) {
            addCriterion("weekday >", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("weekday >=", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayLessThan(Integer value) {
            addCriterion("weekday <", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayLessThanOrEqualTo(Integer value) {
            addCriterion("weekday <=", value, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayIn(List<Integer> values) {
            addCriterion("weekday in", values, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayNotIn(List<Integer> values) {
            addCriterion("weekday not in", values, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayBetween(Integer value1, Integer value2) {
            addCriterion("weekday between", value1, value2, "weekday");
            return (Criteria) this;
        }

        public Criteria andWeekdayNotBetween(Integer value1, Integer value2) {
            addCriterion("weekday not between", value1, value2, "weekday");
            return (Criteria) this;
        }

        public Criteria andMonthdayIsNull() {
            addCriterion("monthday is null");
            return (Criteria) this;
        }

        public Criteria andMonthdayIsNotNull() {
            addCriterion("monthday is not null");
            return (Criteria) this;
        }

        public Criteria andMonthdayEqualTo(Integer value) {
            addCriterion("monthday =", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayNotEqualTo(Integer value) {
            addCriterion("monthday <>", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayGreaterThan(Integer value) {
            addCriterion("monthday >", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayGreaterThanOrEqualTo(Integer value) {
            addCriterion("monthday >=", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayLessThan(Integer value) {
            addCriterion("monthday <", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayLessThanOrEqualTo(Integer value) {
            addCriterion("monthday <=", value, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayIn(List<Integer> values) {
            addCriterion("monthday in", values, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayNotIn(List<Integer> values) {
            addCriterion("monthday not in", values, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayBetween(Integer value1, Integer value2) {
            addCriterion("monthday between", value1, value2, "monthday");
            return (Criteria) this;
        }

        public Criteria andMonthdayNotBetween(Integer value1, Integer value2) {
            addCriterion("monthday not between", value1, value2, "monthday");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNull() {
            addCriterion("start_date is null");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNotNull() {
            addCriterion("start_date is not null");
            return (Criteria) this;
        }

        public Criteria andStartDateEqualTo(Date value) {
            addCriterion("start_date =", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotEqualTo(Date value) {
            addCriterion("start_date <>", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThan(Date value) {
            addCriterion("start_date >", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThanOrEqualTo(Date value) {
            addCriterion("start_date >=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThan(Date value) {
            addCriterion("start_date <", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThanOrEqualTo(Date value) {
            addCriterion("start_date <=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateIn(List<Date> values) {
            addCriterion("start_date in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotIn(List<Date> values) {
            addCriterion("start_date not in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateBetween(Date value1, Date value2) {
            addCriterion("start_date between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotBetween(Date value1, Date value2) {
            addCriterion("start_date not between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNull() {
            addCriterion("end_date is null");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNotNull() {
            addCriterion("end_date is not null");
            return (Criteria) this;
        }

        public Criteria andEndDateEqualTo(Date value) {
            addCriterion("end_date =", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotEqualTo(Date value) {
            addCriterion("end_date <>", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThan(Date value) {
            addCriterion("end_date >", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("end_date >=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThan(Date value) {
            addCriterion("end_date <", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThanOrEqualTo(Date value) {
            addCriterion("end_date <=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIn(List<Date> values) {
            addCriterion("end_date in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotIn(List<Date> values) {
            addCriterion("end_date not in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateBetween(Date value1, Date value2) {
            addCriterion("end_date between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotBetween(Date value1, Date value2) {
            addCriterion("end_date not between", value1, value2, "endDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}